package com.ebs.md.fxmonitor.marketmonitor.config;

/**
 * Revision Author:
 *  $File: //depot/MarketData/fxmonitor/main/src/main/java/com/ebs/md/fxmonitor/marketmonitor/config/ISelfMatchingConfig.java $
 *  $Revision: #4 $
 *  $DateTime: 2012/08/12 10:07:06 $
 *  $Change: 113123 $
 *  $Author: Arik.Sher $
 */

public interface ISelfMatchingConfig 
extends INameableConfig
{
	/**
	 * in FS aggressive order type. type is IOC(Immediate or Cancel) or ANY.
	 * @return aggressive order type.
	 */
	public EAggressiveOrderType	getAggressiveOrderType()
	;

	/**
	 * in FS aggressive order size versus the passive order size 
	 * @return if EQUAL return true, else (NOT EQUAL) return false.
	 */
	public boolean	getIsAggressiveVsPassiveOrderSizeEquals()
	;

	/**
	 * in FS selfMatchThreshold: Maximum number that trigger an alert.
	 * @return self Match Threshold.
	 */
	public int	getSelfMatchThreshold()
	;

	/**
	 * in FS timeToMatchThreshold: time between submission of the passive and aggressive orders. 
	 * @return time to match in milliseconds.
	 */
	public long	getTimeToMatchThreshold()
	;

	public enum EAggressiveOrderType { IOC, ANY }
}
